package leetcode; /**
 * description:
 * author:张腾
 * date:2021-06-23
 */

/**
 * 给定一个字符串，你需要反转字符串中每个单词的字符顺序，同时仍保留空格和单词的初始顺序
 */
public class leetcode557 {
    public String reverseWords(String s) {
        StringBuffer sb = new StringBuffer();
        int i = 0;
        int length = s.length();
        while (i<length){
            int start = i;
            //找到一个单词的结束
            while (s.charAt(i)!=' ' && i<length) i++;
            //反转单词append到sb中
            for (int p=start;p < i;p ++){
                sb.append(s.charAt(start+i-1-p));
            }
            //加入单词间的空格
            while (s.charAt(i)==' ' && i<length){
                i++;
                sb.append(" ");
            }
        }
        return sb.toString();
    }
}
